1. Field of the Invention
The present invention pertains to the field of controllers and models. More specifically, the present invention relates to controller switching at threshold regions.
2. Background Information
Often when working with processes or machinery there are points at which a particular portion of the process, a particular machine, or a controller for the process or machine switches from one mode to another. Two examples are automotive engines with turbochargers and semiconductor reactors that must operate over wide temperature ranges. These examples are discussed further below so that a clear understanding of thresholds and switching may be understood. It should be noted that these are merely examples of when switching may occur and are not meant to be limiting.
In the example of a turbocharged automotive engine, there is typically a certain velocity or acceleration threshold below which the turbocharger is inactive and above which the turbocharger is activated. As the car decelerates there is a certain threshold above which the turbocharger is active and below which the turbocharger deactivated. (Generally, the threshold for activating and deactivating the turbocharger are one and the same, although this does not necessarily have to be the case.) Thus, at this threshold the engine activates or deactives the turbocharger. This threshold may be a certain speed, a certain engine rpm, a certain acceleration level, a certain throttle position, etc. Typically, if the engine is operated so that the turbocharger is repeatedly and rapidly activated and deactivated, the turbocharger or other engine components may suffer excessive wear or become damaged. In addition, the driving experience may be poor due to transient acceleration (bumps or lurches) associated with activating or deactiving the turbocharger. If the driver or a cruise control system is attempting to maintain a constant speed or acceleration, repeated turbocharger transitions from active to inactive may make the constant speed or acceleration difficult or impossible to maintain.
Consider the cruise control case. When using cruise control a driver sets a particular speed to maintain. For example, this speed may be 70 miles per hour (mph), and is called a setpoint speed. In this example the activation threshold of the turbocharger is based upon speed and the threshold is 68 mph. As the car accelerates to reach and maintain the desired speed of 70 mph the turbocharger activates when the car reaches 68 mph. When the cruise control is maintaining a speed of 70 mph the turbocharger is active. With the setpoint speed set to 70 mph, when the car encounters a hill the cruise control system allows the car to decelerate to 67 mph before the cruise control accelerates the car back up to the 70 mph speed. In such an example the car will decelerate below the turbocharger threshold (68 mph) and the turbocharger will deactivate. Once the car decelerates to 67 mph then the cruise control will accelerate the car back up to 70 mph once again crossing the threshold (68 mph) and causing the turbocharger to activate again. The turbocharger activation will cause a transient acceleration, causing the car speed to increase to 73 mph. Since speed is above the setpoint speed of 70 mph, cruise control allows the car to decelerate, causing the turbocharger to deactivate again. Thus the interaction between the turbocharger switching and the cruise control cause the turbocharger to repeatedly activate and deactivate. The turbocharger and engine suffer excessive wear, and cruise control is unable to maintain a constant speed.
A similar example may be shown in a semiconductor process in a semiconductor furnace. In a wafer annealing process, wafers are placed into a semiconductor furnace and the furnace is heated to a desired temperature level for that particular annealing process (e.g., a setpoint temperature). To operate well over a wide temperature range, the example furnace uses several different controllers, each of which operates the furnace within specific temperature range. The boundaries that define the region within which each controller operates define the threshold temperatures. In other words, one controller will operate the furnace below the temperature threshold and another controller will operate the furnace at a temperature above the threshold. A furnace that must operate over a wide temperature range (e.g., several hundred degrees C) may have multiple controllers and multiple temperature ranges and therefore there may be multiple threshold temperatures.
FIG. 1 illustrates a graph of temperature ranges for a sample furnace. In the example illustrated in FIG. 1, controller 110 operates the furnace in the temperature range of 400-730xc2x0 C., controller 120 operates the furnace in the temperature range of 730-830xc2x0 C., and controller 130 operates the furnace in the temperature range of 830-1000xc2x0 C. In this example the threshold temperature between controller 110 and controller 120 is 730xc2x0 C. and the threshold temperature between controller 120 and controller 130 is 830xc2x0 C. Thus, when the temperature of the furnace increases past 730xc2x0 C. the furnace switches from controller 110 to controller 120 and when the temperature of the furnace increases past 830xc2x0 C. the furnace switches from controller 120 to controller 130.
In the furnace example, the anneal process requires a temperature near the threshold voltage, for example 735xc2x0 C. To reach 735xc2x0 C., the furnace must ramp up past the threshold voltage in order to reach the anneal temperature. Thus, in order to reach the anneal temperature (735xc2x0 C.) controller 110 will control the furnace until 730xc2x0 C. is reached and then the controllers will switch so that controller 120 will control the furnace from 730xc2x0 C. to 735xc2x0 C. The problem with this, however, is that the process of switching between the controllers may cause a transient disturbance, or xe2x80x9cbump,xe2x80x9d in the furnace temperature.
This bump may cause the temperature of the furnace to quickly raise a few degrees. As controller 120 takes over control of the furnace, is compensates for this bump, causing it to disappear after a short period of time. In this example, however, if the transient bump causes the furnace temperature to exceed the anneal temperature of 735xc2x0 C. by even a few degrees, the anneal process accuracy may be adversely affected, thereby lowering the yield of working semiconductor devices being manufactured.
FIG. 2 illustrates an example of a temperature graph for a semiconductor furnace. The setpoint temperature that is programmed by the user is represented by line 210. In this example, line 210 represents how the temperature of the furnace will gradually increase and then level out at the desired temperature of 735xc2x0 C. Line 220 illustrates a more realistic scenario of what the temperature within the furnace is likely to be.
Line 230 illustrates a gradual temperature increase to the threshold temperature (or switch temperature 280) of 730xc2x0 C. At threshold temperature 280, however, the furnace switches controllers (at point 240) which causes a transient bump in temperature. In the example illustrated in FIG. 2, the transient bump causes furnace temperature 250 to cross back down below the threshold temperature so that the a controller switch takes place (at point 260). The switch to the controller that operates below the threshold temperature (at point 260) causes yet another transient bump 270 to a lower temperature from which the furnace temperature must again rise. Thus, in this example the furnace controllers to switch back and forth degrading the accuracy with which the controller can maintain the desired temperature of 735xc2x0 C. This accuracy degradation degrades the performance and reliability of the furnace and quality with which it can perform the desired process.
Prior attempts to solve the problem of switching transients around a setpoint value require that the switchpoint be set/programmed far enough away from the setpoint that transient bumps do not affect the performance of the furnace near the desired setpoint. In the turbocharged engine example, this is not a good solution because it would require that the driver of the car have a mechanism for programming the switchpoint at which the turbocharger should activate. The increased complexity for the car driver is a serious drawback to such a scheme. This drawback is typically less of an issue for engineers who use semiconductor furnaces. However, if the furnace is used to perform many different processes requiring many different setpoint temperatures, then many different switching thresholds must be reprogrammed for the different setpoints, thus created possibly unacceptable complexity for the user.
What is needed is a method and system for reducing switching transients around threshold regions without requiring reprogramming of a system each time a setpoint or the process using a setpoint is changed.
The present invention includes a method and system for reducing switching transients via large signal/small signal thresholding. The present invention prevents a switch from occurring if when the system (i.e., the system under control) is in small signal mode and permits switches to occur when the system is in large signal mode. Large signal and small signal modes are determined by comparing the difference between the most current value of a comparator variable and the final setpoint with a threshold distance. The system is in small signal mode if the most current value of the comparator variable less the final setpoint value is less than the threshold distance. Otherwise, the system is in large signal mode.
Additional features and benefits of the present invention will become apparent from the detailed description, figures, and claims set forth below.